package com.project.restaurant.thirdpart.bo.template;


import com.project.restaurant.common.util.SpringUtil;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;

import java.util.Arrays;

public class CodeTemplate implements MailTemplateGenerator{
    private TemplateEngine templateEngine = SpringUtil.getBean(TemplateEngine.class);
    private String authCode;
    private String to;
    private String templateHtml;

    public CodeTemplate(String email,String code, String templateHtml){
        this.authCode = code;
        this.to = email;
        this.templateHtml = templateHtml;
    }


    @Override
    public String generateTemplate() {
        Context ctx=new Context();
        //给Context上下文里的添加一个变量，即thymeleaf管理的模板里可以获取该上下文里的变量数据${变量名}
        ctx.setVariable("authCode", Arrays.asList(authCode.split("")));
        ctx.setVariable("email",to);
        //让模板引擎templateEngine去处理mail_auto_code.html模板，即将ctx渲染到模板中，并生成对应的渲染后的html代码
        return templateEngine.process(templateHtml, ctx);// ctx上下文
    }
}
